package com.framework.loippi.entity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.framework.loippi.mybatis.eitity.GenericEntity;
import com.framework.loippi.mybatis.ext.annotation.Column;
import com.framework.loippi.mybatis.ext.annotation.Table;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Entity - 用户表(微信信息)
 * 
 * @author wmj
 * @version 2.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "T_APP_USER")
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties({ "handler","hibernateLazyInitializer" }) 
@ApiModel(value="用户表(微信信息)",description="用户表(微信信息)")
public class TUser implements GenericEntity {

	private static final long serialVersionUID = 5081846432919091193L;

	/** id */
	@Column(id = true, name = "id", updatable = false)
	@ApiModelProperty(value = "id")
	private Long id;
	
	/** 序号 */
	@Column(name = "province" )
	@ApiModelProperty(value = "省")
	private String province;
	
	/** 昵称 */
	@Column(name = "nick_name" )
	@ApiModelProperty(value = "昵称")
	private String nickName;
	
	/** 手机号 */
	@Column(name = "phone" )
	@ApiModelProperty(value = "手机号")
	private String phone;
	
	/** 密码 */
	@Column(name = "password" )
	@ApiModelProperty(value = "密码")
	private String password;
	
	/** 邮箱 */
	@Column(name = "email" )
	@ApiModelProperty(value = "邮箱")
	private String email;
	
	/** 最后登录时间 */
	@Column(name = "login_time" )
	@ApiModelProperty(value = "最后登录时间")
	private java.util.Date loginTime;
	
	/** 启用状态：0-禁用,1-启用 */
	@Column(name = "is_enable" )
	@ApiModelProperty(value = "启用状态：0-禁用,1-启用")
	private Integer isEnable;
	
	/** 头像 */
	@Column(name = "avatar" )
	@ApiModelProperty(value = "头像")
	private String avatar;
	
	/** 性别：1女，2男,0-未设置 */
	@Column(name = "gender" )
	@ApiModelProperty(value = "性别：1女，2男,0-未设置")
	private Integer gender;
	
	/** 出生日期 */
	@Column(name = "birth_time" )
	@ApiModelProperty(value = "出生日期")
	private java.util.Date birthTime;
	
	/** 创建时间 */
	@Column(name = "create_time" )
	@ApiModelProperty(value = "创建时间")
	private java.util.Date createTime;
	
	/** 用户备注 */
	@Column(name = "remark" )
	@ApiModelProperty(value = "用户备注")
	private String remark;
	
	/** 分享成功人数 */
	@Column(name = "share_success_count" )
	@ApiModelProperty(value = "分享成功人数")
	private Long shareSuccessCount;
	
	/** 关联患者人数 */
	@Column(name = "patient_count" )
	@ApiModelProperty(value = "关联患者人数")
	private Integer patientCount;
	
	/** 区域id */
	@Column(name = "area_id" )
	@ApiModelProperty(value = "区域id")
	private Long areaId;
	
	/** 分享人id */
	@Column(name = "share_user_id" )
	@ApiModelProperty(value = "分享人id")
	private Long shareUserId;
	
	/** 分享状态（0, 失败，1成功） */
	@Column(name = "share_status" )
	@ApiModelProperty(value = "分享状态（0, 失败，1成功）")
	private Integer shareStatus;
	
	/** 区域名称 */
	@Column(name = "area_name" )
	@ApiModelProperty(value = "区域名称")
	private String areaName;
	
	/** 微信openId(小程序) */
	@Column(name = "city" )
	@ApiModelProperty(value = "市")
	private String city;
	
	/** 微信openId(app登录使用) */
	@Column(name = "open_id" )
	@ApiModelProperty(value = "微信openId")
	private String openId;
	
	/** 微信公众号openid */
	@Column(name = "district" )
	@ApiModelProperty(value = "区县")
	private String district;

	/** 关联分享人 */
	@ApiModelProperty(value = "分享人")
	private TUser user;

	@Column(name = "im_user_id")
	@ApiModelProperty(value = "腾讯im账号id")
	private Integer imUserId;
}
